Extension: .RAD
Version: 1.0
Created by: Reality
Tracker: Reality ADlib Tracker
Players: -
Description by: Shayde / Reality
Taken from: RAD Tracker 1.1a
Note: Adlib music format
TECHNICAL SPECIFICATIONS
▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀
RAD file format is as follows: (values in hex)
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ HEADER █
█────────────────────────────────────────────────────────────────────────█
█ Offset 00..0F:"RAD by REALiTY!!" - Use this to recognize a RAD tune. █
█ Just detecting the initial "RAD" █
█ should be sufficient though! ;-) █
█ █
█ Offset 10:BCD - Version of RAD file. █
█ Currently 10h for v1.0. █
█ █
█ Offset 11:Bit 7 - Set if a description follows. █
█ Bit 6 - Set if it's a "slow-timer" tune. █
█ Bits 4..0 - The initial speed of the tune. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ DESCRIPTION █
█────────────────────────────────────────────────────────────────────────█
█ The description follows the header if Bit 7 of Offset 11h is set. The █
█ description is a null-terminated string. To save some space in the █
█ tune file, the characters mean: █
█ █
█ Char 00 - End of description (null-terminator) █
█ Char 01 - Move to start of next line (Carriage return) █
█ Char 02..1F - Output this many spaces █
█ Char 20..FF - Output this character █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ INSTRUMENTS █
█────────────────────────────────────────────────────────────────────────█
█ Next come the instruments: █
█ █
█ Offset 00:Instrument Number that follows (or 0 for end of list) █
█ █
█ Offset 01..0B:The instrument definition in HSC .INS format: █
█ █
█ ╔══════╦═══════════════════╦═══════════════════════╗ █
█ ║ ║ ║ Adlib Register ║ █
█ ║ Byte ║ Carrier/Modulator ║ (Relative to Chan. 0) ║ █
█ ╠══════╩═══════════════════╩═══════════════════════╣ █
█ ║ 00 │ Carrier │ 23h ║ █
█ ║ 01 │ Modulator │ 20h ║ █
█ ║ 02 │ Carrier │ 43h - Instr. Volume ║ █
█ ║ 03 │ Modulator │ 40h ║ █
█ ║ 04 │ Carrier │ 63h ║ █
█ ║ 05 │ Modulator │ 60h ║ █
█ ║ 06 │ Carrier │ 83h ║ █
█ ║ 07 │ Modulator │ 80h ║ █
█ ║ 08 │ Both │ C0h ║ █
█ ║ 09 │ Carrier │ E3h ║ █
█ ║ 0A │ Modulator │ E0h ║ █
█ ╚══════════════════════════════════════════════════╝ █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ ORDER LIST █
█────────────────────────────────────────────────────────────────────────█
█ The Order List follows the instruments: █
█ █
█ Offset 00:Length of Order List (up to 128) █
█ █
█ Offset 01..nn:List of orders, one byte for each line: █
█ █
█ 00..1F:The pattern to play. █
█ 80..FF:The line to jump to minus 80h (Jump Marker) █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ PATTERN OFFSET TABLE █
█────────────────────────────────────────────────────────────────────────█
█ For all 32 patterns there is a word in this table which gives the █
█ offset from the start of the file of the pattern data. █
█ If a pattern is empty then the offset is zero. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ PATTERNS █
█────────────────────────────────────────────────────────────────────────█
█ Offset 00:Line number whose notes follow. Bit 7 set means that █
█ this is the last line. Note, lines that have no notes █
█ or effects on do not appear. █
█ █
█ Offset 01....:List of notes for that line: █
█ █
█ Offset 00:Channel no. note appears in (0 to 8). █
█ Bit 7 set means this is the last note for █
█ this line. █
█ Offset 01..02:The note/effect for this channel. █
█ If the effect nibble is non-zero then █
█ Offset 03 contains the parameter, otherwise █
█ the next channel starts at Offset 03. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ NOTES █
█────────────────────────────────────────────────────────────────────────█
█ Notes occupy three bytes (two if the effect nibble is zero): █
█ █
█ Byte 00:Bit 7: Bit 4 of the instrument number. █
█ Bit 6..4: Octave of note. █
█ Bit 3..0: Note (1-12) in this order: █
█ C#, D, D#, E, F, F#, G, G#, A, A#, B, C █
█ A zero denotes no note and 15 denotes a █
█ KEY-OFF. █
█ █
█ Byte 01:Bit 7..4: Bits 3 to 0 of the instrument number. █
█ Bit 3..0: The effect nibble (the effect column █
█ in RAD is the hex equivalent of this █
█ nibble). █
█ █
█ Byte 02:The parameter to the effect (if any). █
█ Because parameters only go from 0 to 99, bit 7 is █
█ not used, but may be used in a later version of RAD. █
█ █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
- Shayde / Reality, Feb95